package com.boarsoft.boar.batch.service;

/**
 * 批次状态缓存操作服务
 *
 * @author zj_wangt
 * @date 2023-11-03
 */
public interface BatchExecCtrlService {

    /**
     * 设置状态缓存
     *
     * @param batchNo 批次号（key）
     * @param status  批次状态
     * @return true-成功，false-失敗
     */
    public Boolean setStatus(String batchNo, Short status);

    /**
     * 读取状态
     *
     * @param batchNo 批次号（key）
     * @return 批次状态
     */
    public Short getStatus(String batchNo);

    /**
     * 移除执行状态缓存
     *
     * @param batchNo 批次号（key）
     * @return true-成功，false-失敗
     */
    public Boolean removeStatusBykey(String batchNo);

    /**
     * 清空执行状态缓存
     *
     * @return true-成功，false-失敗
     */
    public Boolean clearStatusAll();

    /**
     * 设置订单执行类型
     *
     * @param batchNo 批次号（key）
     * @param status  订单执行类型 : 0-新跑（默认）；1-续跑； 2-重跑
     * @return true-成功，false-失敗
     */
    public Boolean setExeType(String batchNo, Short status);

    /**
     * 读取订单执行类型
     *
     * @param batchNo 批次号（key）
     * @return 订单执行类型 : 0-新跑（默认）；1-续跑； 2-重跑
     */
    public Short getExeType(String batchNo);

    /**
     * 移除执行类型
     *
     * @param batchNo 批次号（key）
     * @return true-成功，false-失敗
     */
    public Boolean removeExeTypeBykey(String batchNo);

    /**
     * 清空执行类型
     *
     * @return true-成功，false-失敗
     */
    public Boolean clearExeTypeAll();

}
